function forEach(object, callback) {

    for (var i in object) {
        if (({}).hasOwnProperty.call(object, i)) {
            callback(object[i], i);
        }
    }

}

var Suite = function(testSuite){

    var fs = require('fs');
    var workingDir = fs.workingDirectory + '/src/test';

    this.configPath = workingDir + '/' + testSuite + '/config.js';
    phantom.injectJs(this.configPath);

    this.config = config;
    this.fs = fs;

    this.workingDir = workingDir;
    this.compiledPath = fs.workingDirectory + config.target.location;
    this.sourcePath = fs.workingDirectory + config.target.location + '_tmp';

    this.testRunnerSource = this.sourcePath + '/test.html';
    this.testRunnerCompiled = this.compiledPath + '/test.html';
    this.report = this.compiledPath + '/test-report.html';
    this.reportXML = this.compiledPath + '/test.xml';

    this.runnerTemplate = workingDir + '/template-runner.html';
    this.coverageTemplate = workingDir + '/template-fileCoverage.html';
    this.reportTemplate = workingDir + '/template-report.html';

};